{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQEBLAEsAAD/7S4GUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAA\nAAAAAAAAAAAAOEJJTQQ6AAAAAACTAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAQ2xy\nU2VudW0AAAAAQ2xyUwAAAABSR0JDAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAABNcEJs\nYm9vbAEAAAAPcHJpbnRTaXh0ZWVuQml0Ym9vbAAAAAALcHJpbnRlck5hbWVURVhUAAAAAQAAADhC\nSU0EOwAAAAABsgAAABAAAAABAAAAAAAScHJpbnRPdXRwdXRPcHRpb25zAAAAEgAAAABDcHRuYm9v\nbAAAAAAAQ2xicmJvb2wAAAAAAFJnc01ib29sAAAAAABDcm5DYm9vbAAAAAAAQ250Q2Jvb2wAAAAA\nAExibHNib29sAAAAAABOZ3R2Ym9vbAAAAAAARW1sRGJvb2wAAAAAAEludHJib29sAAAAAABCY2tn\nT2JqYwAAAAEAAAAAAABSR0JDAAAAAwAAAABSZCAgZG91YkBv4AAAAAAAAAAAAEdybiBkb3ViQG/g\nAAAAAAAAAAAAQmwgIGRvdWJAb+AAAAAAAAAAAABCcmRUVW50RiNSbHQAAAAAAAAAAAAAAABCbGQg\nVW50RiNSbHQAAAAAAAAAAAAAAABSc2x0VW50RiNQeGxAcsAAAAAAAAAAAAp2ZWN0b3JEYXRhYm9v\nbAEAAAAAUGdQc2VudW0AAAAAUGdQcwAAAABQZ1BDAAAAAExlZnRVbnRGI1JsdAAAAAAAAAAAAAAA\nAFRvcCBVbnRGI1JsdAAAAAAAAAAAAAAAAFNjbCBVbnRGI1ByY0BZAAAAAAAAOEJJTQPtAAAAAAAQ\nASwAAAABAAIBLAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAA\nHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAA\nAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAA\nAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA////////////////\n/////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////\n////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAADhC\nSU0EAgAAAAAAAgAAOEJJTQQwAAAAAAABAQA4QklNBC0AAAAAAAYAAQAAAAI4QklNBAgAAAAAABAA\nAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADYQAAAAYAAAAAAAAAAAAA\nBN8AAAM7AAAAFgA5ADcAOAAtADMALQAzADEAOQAtADMAMAA3ADEANQAtADIAXwBUAGUAbQBwAAAA\nAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAM7AAAE3wAAAAAAAAAAAAAAAAAAAAABAAAA\nAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAA\nAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAE\n3wAAAABSZ2h0bG9uZwAAAzsAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAA\nEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAM\nRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAA\nAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAA\nAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAABN8AAAAAUmdodGxvbmcAAAM7AAAAA3VybFRFWFQA\nAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAA\nAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6\nQWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0A\nAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGlj\nZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxv\nbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJ\nTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAAkeQAAAAEAAABq\nAAAAoAAAAUAAAMgAAAAkXQAYAAH/2P/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJS\nR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gAB\nAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIY\nAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQA\nAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJU\nUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAx\nOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIu\nMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAk\noAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVD\nIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl\nIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl\nIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2lu\nZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcg\nQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA\nAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAA\nAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF\nAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA\nlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr\nATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoC\nAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMW\nAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE\nfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn\nBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I\nMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqB\nCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYN\nQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD\nEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT\nxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJ\nF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib\n2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs\nIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl\nlyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC\nKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx\nEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg\nN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+\nYD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa\nRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpN\nk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC\nVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxe\nvV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp\naD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx\n8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh\nfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH\nO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6\nkuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCe\nrp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sC\nq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4\nWbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI\nxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU\nSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb\n42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y\njPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////tAAxBZG9i\nZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEM\nDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQR\nDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoABqAwEiAAIR\nAQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAA\n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\nAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNj\nAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi\nWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAA\nACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAE\nPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2th\ncmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdC\nIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABv\nogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAA\nAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5j\naAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA\nAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA\nAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF\nQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2\nMTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPt\nzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAA\nAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0A\nMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8\nAMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB\nZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJL\nAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3ID\nfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTw\nBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8G\nwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS\nCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkL\nUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4T\nDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETER\nTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO\nFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y\n1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e\nHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h\n+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcY\nJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs\n1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLU\nMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5\nfzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0Bk\nQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI\nBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d\nUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9Y\nfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFP\nYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q\n92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTM\ndSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/\nhH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opk\nisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW\nNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm\nopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv\nFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7wh\nvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnK\nOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk\n2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/n\nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb7\n94r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////4TnJaHR0cDovL25zLmFkb2JlLmNvbS94\nYXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5\nZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBY\nTVAgQ29yZSA1LjAtYzA2MSA2NC4xNDA5NDksIDIwMTAvMTIvMDctMTA6NTc6MDEgICAgICAgICI+\nCiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYt\nc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAg\nICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4\nbXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3M8L3htcDpDcmVhdG9y\nVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMDMtMDNUMTY6MTI6MDMrMDU6MzA8\nL3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wMy0wM1QxNjox\nMjoxMSswNTozMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIw\nMTYtMDMtMDNUMTY6MTI6MTErMDU6MzA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgIDwvcmRmOkRl\nc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAg\nICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8\nZGM6Zm9ybWF0PmltYWdlL3RpZmY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+\nCiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnBo\nb3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyI+CiAgICAgICAgIDxw\naG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90\nb3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+\nCiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91\ndD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w\nL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu\nMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyI+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5p\naWQ6QkRBNzhBOTUyQ0UxRTUxMThFQTM5QTVDRkVFOTAxNDQ8L3htcE1NOkluc3RhbmNlSUQ+CiAg\nICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6QkNBNzhBOTUyQ0UxRTUxMThFQTM5QTVD\nRkVFOTAxNDQ8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3Vt\nZW50SUQ+eG1wLmRpZDpCQ0E3OEE5NTJDRTFFNTExOEVBMzlBNUNGRUU5MDE0NDwveG1wTU06T3Jp\nZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJk\nZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgog\nICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAg\nICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpCQ0E3OEE5NTJDRTFFNTEx\nOEVBMzlBNUNGRUU5MDE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0\nRXZ0OndoZW4+MjAxNi0wMy0wM1QxNjoxMjowMyswNTozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAg\nICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRv\nd3M8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAg\nICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAg\nICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAg\nICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9w\nIHRvIGltYWdlL3RpZmY8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxp\nPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAg\nICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAg\nICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOkJEQTc4QTk1MkNFMUU1MTE4RUEzOUE1\nQ0ZFRTkwMTQ0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hl\nbj4yMDE2LTAzLTAzVDE2OjEyOjExKzA1OjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAg\nICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93czwvc3RF\ndnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RF\ndnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNl\ncT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg\nPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVu\nZD0idyI/Pv/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAOcAmQMBEQACEQEDEQH/xAAeAAAB\nBAMBAQEAAAAAAAAAAAAHBAUGCAIDCQEACv/EAFAQAAAGAgAFAgIHBAYHBAcJAAECAwQFBgcRAAgS\nITFBURNhCRQVInGBkRYyobEXI1LB0fAkQlNikuHxCiZjghlDVnKW0tUlJygzNDZEwuL/xAAeAQAC\nAwEBAQEBAQAAAAAAAAAFBgMEBwIBCAAJCv/EAFIRAAEDAgUCAwUEBwQHBQcDBQECAwQFEQAGEiEx\n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\nphy+Op7fwL/jxx5Kfzf+uLH2p/xfT/HH/9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image \n",
    "Image('../../../python_for_probability_statistics_and_machine_learning.jpg')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[Python for Probability, Statistics, and Machine Learning](https://www.springer.com/fr/book/9783319307152)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING: pylab import has clobbered these variables: ['f', 'clf', 'test']\n",
      "`%matplotlib` prevents importing * from pylab and numpy\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "%pylab inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from pprint import pprint\n",
    "import textwrap\n",
    "import sys, re\n",
    "old_displayhook = sys.displayhook\n",
    "def displ(x):\n",
    "   if x is None: return\n",
    "   print \"\\n\".join(textwrap.wrap(repr(x).replace(' ',''),width=80))\n",
    "\n",
    "sys.displayhook=displ"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So far, we have considered parametric methods that reduce inference\n",
    "or prediction to parameter-fitting. However, for these to work, we had to\n",
    "assume a specific functional form for the unknown probability distribution of\n",
    "the data. Nonparametric methods eliminate the need to assume a specific\n",
    "functional form by generalizing to classes of functions.\n",
    "\n",
    "## Kernel Density Estimation\n",
    "\n",
    "We have already made heavy use of this method with the histogram, which is a\n",
    "special case of kernel density estimation.  The histogram can be considered the\n",
    "crudest and most useful nonparametric method, that estimates the underlying\n",
    "probability distribution of the data.\n",
    "\n",
    "To be formal and place the histogram on the same footing as our earlier\n",
    "estimations, suppose that $\\mathscr{X}=[0,1]^d$ is the $d$ dimensional unit\n",
    "cube and that $h$ is the *bandwidth* or size of a *bin* or sub-cube. Then,\n",
    "there are $N\\approx(1/h)^d$ such bins, each with volume $h^d$, $\\lbrace\n",
    "B_1,B_2,\\ldots,B_N \\rbrace$. With all this in place, we can write the histogram\n",
    "has a probability density estimator of the form,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{p}_h(x) = \\sum_{k=1}^N \\frac{\\hat{\\theta}_k}{h} I(x\\in B_k)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{\\theta}_k=\\frac{1}{n} \\sum_{j=1}^n I(X_j\\in B_k)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " is the fraction of data points ($X_k$) in each bin, $B_k$. We want to\n",
    "bound the bias and variance of $\\hat{p}_h(x)$. Keep in mind that we are trying\n",
    "to estimate a function of $x$, but the set of all possible probability\n",
    "distribution functions is extremely large and hard to manage. Thus, we need\n",
    "to restrict our attention to the following class of probability distribution of\n",
    "so-called Lipschitz functions,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathscr{P}(L) = \\lbrace p\\colon \\vert p(x)-p(y)\\vert \\le L \\Vert x-y\\Vert, \\forall \\: x,y \\rbrace\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Roughly speaking, these are the density\n",
    "functions whose slopes (i.e., growth rates)  are bounded by $L$.\n",
    "It turns out that the bias of the histogram estimator is bounded in the\n",
    "following way,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\int\\vert p(x)-\\mathbb{E}(\\hat{p}_h(x))\\vert dx \\le L h\\sqrt{d}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  Similarly, the variance is bounded by the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{V}(\\hat{p}_h(x)) \\le \\frac{C}{n h^d}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " for some constant $C$. Putting these two facts together means that the\n",
    "risk is bounded by,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "R(p,\\hat{p}) = \\int \\mathbb{E}(p(x) -\\hat{p}_h(x))^2 dx \\le L^2 h^2 d + \\frac{C}{n h^d}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This upper bound is minimized by choosing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "h = \\left(\\frac{C}{L^2 n d}\\right)^\\frac{1}{d+2}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " In particular, this means that,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\sup_{p\\in\\mathscr{P}(L)} R(p,\\hat{p}) \\le C_0 \\left(\\frac{1}{n}\\right)^{\\frac{2}{d+2}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where the constant $C_0$ is a function of $L$. There is a theorem\n",
    "[[wasserman2004all]](#wasserman2004all) that shows this bound in tight, which basically means\n",
    "that the histogram is a really powerful probability density estimator for\n",
    "Lipschitz functions with risk that goes as\n",
    "$\\left(\\frac{1}{n}\\right)^{\\frac{2}{d+2}}$.  Note that this class of functions\n",
    "is not necessarily smooth because the Lipschitz condition admits step-wise and\n",
    "other non-smooth functions. While this is a reassuring result, we typically do\n",
    "not know which function class (Lipschitz or not) a particular probability\n",
    "belongs to ahead of time.  Nonetheless, the rate at which the risk changes with\n",
    "both dimension $d$ and $n$ samples would be hard to understand without this\n",
    "result.  [Figure](#fig:nonparametric_001) shows the probability distribution\n",
    "function of the $\\beta(2,2)$ distribution compared to computed histograms for\n",
    "different values of $n$. The box plots on each of the points show how the\n",
    "variation in each bin of the histogram reduces with increasing $n$. The risk\n",
    "function $R(p,\\hat{p})$ above is based upon integrating the squared difference\n",
    "between the histogram (as a piecewise function of $x$) and the probability\n",
    "distribution function. \n",
    "\n",
    "**Programming Tip.**\n",
    "\n",
    "The corresponding IPython notebook has the complete source code that generates\n",
    "[Figure](#fig:nonparametric_001); however, the following snippet\n",
    "is the main element of the code."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def generate_samples(n,ntrials=500):\n",
    "    phat = np.zeros((nbins,ntrials))\n",
    "    for k in range(ntrials):\n",
    "        d = rv.rvs(n)       \n",
    "        phat[:,k],_=histogram(d,bins,density=True)   \n",
    "    return phat"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The code uses the `histogram` function from Numpy.\n",
    "To be consistent with the risk function $R(p,\\hat{p})$, we have to make sure\n",
    "the `bins` keyword argument is formatted correctly using a sequence of\n",
    "bin-edges instead of just a single integer. Also, the `density=True` keyword\n",
    "argument normalizes the histogram appropriately so that the comparison between\n",
    "it and the probability distribution function of the simulated beta distribution\n",
    "is correctly scaled.\n",
    "\n",
    "\n",
    "\n",
    "<!-- dom:FIGURE: [fig-statistics/nonparametric_001.png, width=800 frac=0.95]  The box plots on each of the points show how the variation in each bin of the histogram reduces with increasing $n$. <div id=\"fig:nonparametric_001\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:nonparametric_001\"></div>\n",
    "\n",
    "<p>The box plots on each of the points show how the variation in each bin of the histogram reduces with increasing $n$.</p>\n",
    "<img src=\"fig-statistics/nonparametric_001.png\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "## Kernel Smoothing\n",
    "\n",
    "We can extend our methods to other function classes using kernel functions.\n",
    "A one-dimensional smoothing kernel is a smooth function $K$ with \n",
    "the following properties,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\int K(x) dx &= 1 \\\\\\\n",
    "\\int x K(x) dx &= 0 \\\\\\\n",
    "0< \\int x^2 K(x) dx &< \\infty \\\\\\\n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " For example, $K(x)=I(x)/2$ is the boxcar kernel, where $I(x)=1$\n",
    "when $\\vert x\\vert\\le 1$ and zero otherwise. The kernel density estimator is\n",
    "very similar to the histogram, except now we put a kernel function on every\n",
    "point as in the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{p}(x)=\\frac{1}{n}\\sum_{i=1}^n \\frac{1}{h^d} K\\left(\\frac{\\Vert x-X_i\\Vert}{h}\\right)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $X\\in \\mathbb{R}^d$. [Figure](#fig:nonparametric_002) shows an\n",
    "example of a kernel density estimate using a Gaussian kernel function,\n",
    "$K(x)=e^{-x^2/2}/\\sqrt{2\\pi}$. There are  five data points shown by the\n",
    "vertical lines in the upper panel. The dotted lines show the individual $K(x)$\n",
    "function at each of the data points. The lower panel shows the overall kernel\n",
    "density estimate, which is the scaled sum of the upper panel.\n",
    "\n",
    "There is an important technical result in [[wasserman2004all]](#wasserman2004all) that\n",
    "states that kernel density estimators are minimax in the sense we\n",
    "discussed in the maximum likelihood the section ref{ch:stats:sec:mle}. In\n",
    "broad strokes, this means that the analogous risk for the kernel\n",
    "density estimator is approximately bounded by the following factor,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "R(p,\\hat{p}) \\lesssim n^{-\\frac{2 m}{2 m+d}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " for some constant $C$ where $m$ is a factor related to bounding\n",
    "the derivatives of the probability density function. For example, if the second\n",
    "derivative of the density function is bounded, then $m=2$. This means that\n",
    "the convergence rate for this estimator decreases with increasing dimension\n",
    "$d$.\n",
    "\n",
    "<!-- dom:FIGURE: [fig-statistics/nonparametric_002.png, width=800 frac=0.95]  The upper panel shows the individual kernel functions placed at each of the data points. The lower panel shows the composite kernel density estimate which is the sum of the individual functions in the upper panel. <div id=\"fig:nonparametric_002\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:nonparametric_002\"></div>\n",
    "\n",
    "<p>The upper panel shows the individual kernel functions placed at each of the data points. The lower panel shows the composite kernel density estimate which is the sum of the individual functions in the upper panel.</p>\n",
    "<img src=\"fig-statistics/nonparametric_002.png\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "### Cross-Validation\n",
    "\n",
    "As a practical matter, the tricky part of the kernel density estimator (which\n",
    "includes the histogram as a special case) is that we need to somehow compute\n",
    "the bandwith $h$ term using data. There are several rule-of-thumb methods that\n",
    "for some common kernels, including Silverman's rule and Scott's rule for\n",
    "Gaussian kernels. For example, Scott's factor is to simply compute $h=n^{\n",
    "-1/(d+4) }$ and Silverman's is $h=(n (d+2)/4)^{ (-1/(d+4)) }$. Rules of\n",
    "this kind are derived by assuming the underlying probability density\n",
    "function is of a certain family (e.g., Gaussian), and then deriving the\n",
    "best $h$ for a certain type of kernel density estimator, usually equipped\n",
    "with extra functional properties (say, continuous derivatives of a\n",
    "certain order). In practice, these rules seem to work pretty well,\n",
    "especially for uni-modal probability density functions.  Avoiding these\n",
    "kinds of assumptions means computing the bandwith from data directly and that is where\n",
    "cross validation comes in.\n",
    "\n",
    "Cross-validation is a method to estimate the bandwidth from the data itself.\n",
    "The idea is to write out the following Integrated Squared Error (ISE),"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\texttt{ISE}(\\hat{p}_h,p)&=\\int (p(x)-\\hat{p}_h(x))^2 dx\\\\\\\n",
    "                             &= \\int \\hat{p}_h(x)^2 dx - 2\\int p(x) \\hat{p}_h dx + \\int p(x)^2 dx \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The problem with this expression is the middle term [^last_term],\n",
    "\n",
    "[^last_term]: The last term is of no interest because we are\n",
    "only interested in relative changes in the ISE."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\int p(x)\\hat{p}_h dx\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $p(x)$ is what we are trying to estimate with $\\hat{p}_h$. The\n",
    "form of the last expression looks like an expectation of $\\hat{p}_h$ over the\n",
    "density of $p(x)$, $\\mathbb{E}(\\hat{p}_h)$. The approach is to\n",
    "approximate this with the mean,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}(\\hat{p}_h) \\approx \\frac{1}{n}\\sum_{i=1}^n \\hat{p}_h(X_i)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The problem with this approach is that $\\hat{p}_h$ is computed using\n",
    "the same data that the approximation utilizes.  The way to get around this is\n",
    "to split the data into two equally sized chunks $D_1$, $D_2$; and then compute\n",
    "$\\hat{p}_h$ for a sequence of different $h$ values over the $D_1$ set. Then,\n",
    "when we apply the above approximation for the data ($Z_i$) in the $D_2$ set,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}(\\hat{p}_h) \\approx \\frac{1}{\\vert D_2\\vert}\\sum_{Z_i\\in D_2} \\hat{p}_h(Z_i)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  Plugging this approximation back into the integrated squared error\n",
    "provides the objective function,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\texttt{ISE}\\approx \\int \\hat{p}_h(x)^2 dx-\\frac{2}{\\vert D_2\\vert}\\sum_{Z_i\\in D_2} \\hat{p}_h(Z_i)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Some code will make these steps concrete. We will need some tools from\n",
    "Scikit-learn."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.cross_validation import train_test_split\n",
    "from sklearn.neighbors.kde import KernelDensity"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The `train_test_split` function makes it easy to split and\n",
    "keep track of the $D_1$ and $D_2$ sets we need for cross validation. Scikit-learn\n",
    "already has a powerful and flexible implementation of kernel density estimators.\n",
    "To compute the objective function, we need some\n",
    "basic numerical integration tools from Scipy. For this example, we\n",
    "will generate samples from a $\\beta(2,2)$ distribution, which is\n",
    "implemented in the `stats` submodule in Scipy."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "np.random.seed(123456)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from scipy.integrate import quad\n",
    "from scipy import stats\n",
    "rv= stats.beta(2,2)\n",
    "n=100                 # number of samples to generate\n",
    "d = rv.rvs(n)[:,None] # generate samples as column-vector"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The use of the `[:,None]` in the last line formats the Numpy array returned by\n",
    "the `rvs` function into a Numpy vector with a column dimension of one. This is\n",
    "required by the `KernelDensity` constructor because the column dimension is\n",
    "used for different features (in general) for Scikit-learn. Thus, even though we\n",
    "only have one feature, we still need to comply with the structured input that\n",
    "Scikit-learn relies upon. There are many ways to inject the additional\n",
    "dimension other than using `None`. For example, the more cryptic, `np.c_`, or\n",
    "the less cryptic `[:,np.newaxis]` can do the same, as can the `np.reshape`\n",
    "function.\n",
    "\n",
    "\n",
    "\n",
    " The next step is to split the data into two  halves and loop over\n",
    "each of the $h_i$ bandwidths to create a separate kernel density estimator\n",
    "based on the $D_1$ data,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "train,test,_,_=train_test_split(d,d,test_size=0.5)\n",
    "kdes=[KernelDensity(bandwidth=i).fit(train) \n",
    "        for i in [.05,0.1,0.2,0.3]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "Note that the single underscore symbol in Python refers to the last evaluated\n",
    "result.  the above code unpacks the tuple returned by `train_test_split` into\n",
    "four elements.  Because we are only interested in the first two, we assign the\n",
    "last two to the underscore symbol. This is a stylistic usage to make it clear\n",
    "to the reader that the last two elements of the tuple are unused.\n",
    "Alternatively, we could assign the last two elements to a pair of dummy\n",
    "variables that we do not use later, but then  the reader skimming the code may\n",
    "think that those dummy variables are relevant.\n",
    "\n",
    "\n",
    "\n",
    " The last step is to loop over the so-created kernel density estimators\n",
    "and compute the objective function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "h=0.05\t -1.1323\n",
      "h=0.10\t -1.1336\n",
      "h=0.20\t -1.1330\n",
      "h=0.30\t -1.0810\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "for i in kdes:\n",
    "    f = lambda x: np.exp(i.score_samples(x))\n",
    "    f2 = lambda x: f(x)**2\n",
    "    print 'h=%3.2f\\t %3.4f'%(i.bandwidth,quad(f2,0,1)[0]\n",
    "                             -2*np.mean(f(test)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The lambda functions defined in the last block are necessary because\n",
    "Scikit-learn implements the return value of the kernel density estimator as a\n",
    "logarithm via the `score_samples` function. The numerical quadrature function\n",
    "`quad` from Scipy computes the $\\int \\hat{p}_h(x)^2 dx$ part of the objective\n",
    "function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ed38eb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from __future__ import division\n",
    "from matplotlib.pylab import subplots\n",
    "fig,ax=subplots()\n",
    "xi = np.linspace(0,1,100)[:,None]\n",
    "for i in kdes:\n",
    "    f=lambda x: np.exp(i.score_samples(x))\n",
    "    f2 = lambda x: f(x)**2\n",
    "    _=ax.plot(xi,f(xi),label='$h$='+str(i.bandwidth))\n",
    "\n",
    "_=ax.set_xlabel('$x$',fontsize=28)\n",
    "_=ax.set_ylabel('$y$',fontsize=28)\n",
    "_=ax.plot(xi,rv.pdf(xi),'k:',lw=3,label='true')\n",
    "_=ax.legend(loc=0)\n",
    "ax2 = ax.twinx()\n",
    "_=ax2.hist(d,20,alpha=.3,color='gray')\n",
    "_=ax2.axis(ymax=50)\n",
    "_=ax2.set_ylabel('count',fontsize=28)\n",
    "fig.tight_layout()\n",
    "#fig.savefig('fig-statistics/nonparametric_003.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-statistics/nonparametric_003.png, width=800 frac=0.85]  Each line above is a different kernel density estimator for the given bandwidth as an approximation to the true density function. A plain histogram is imprinted on the bottom for reference.  <div id=\"fig:nonparametric_003\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:nonparametric_003\"></div>\n",
    "\n",
    "<p>Each line above is a different kernel density estimator for the given bandwidth as an approximation to the true density function. A plain histogram is imprinted on the bottom for reference.</p>\n",
    "<img src=\"fig-statistics/nonparametric_003.png\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "Scikit-learn has many more advanced tools to automate this kind of\n",
    "hyper-parameter (i.e., kernel density bandwidth) search. To utilize these\n",
    "advanced tools, we need to format the current problem slightly differently by\n",
    "defining the following wrapper class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "class KernelDensityWrapper(KernelDensity):\n",
    "    def predict(self,x):\n",
    "        return np.exp(self.score_samples(x))\n",
    "    def score(self,test):\n",
    "        f = lambda x: self.predict(x)\n",
    "        f2 = lambda x: f(x)**2\n",
    "        return -(quad(f2,0,1)[0]-2*np.mean(f(test)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This is tantamount to reorganizing the above previous code \n",
    "into functions that Scikit-learn requires. Next, we create the\n",
    "dictionary of parameters we want to search over (`params`) below\n",
    "and then start the grid search with the `fit` function,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'bandwidth': 0.17333333333333334}\n"
     ]
    }
   ],
   "source": [
    "from sklearn.grid_search import GridSearchCV\n",
    "params = {'bandwidth':np.linspace(0.01,0.5,10)}\n",
    "clf = GridSearchCV(KernelDensityWrapper(), param_grid=params,cv=2)\n",
    "clf.fit(d)\n",
    "print clf.best_params_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  The grid search iterates over all the elements in the `params`\n",
    "dictionary and reports the best bandwidth over that list of parameter values.\n",
    "The `cv` keyword argument above specifies that we want to split the data\n",
    "into two equally-sized sets for training and testing. We can\n",
    "also examine the values of the objective function for each point\n",
    "on the grid as follow,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[mean: 0.60758, std: 0.07695, params: {'bandwidth': 0.01},\n",
      " mean: 1.06325, std: 0.03866, params: {'bandwidth': 0.064444444444444443},\n",
      " mean: 1.11859, std: 0.02093, params: {'bandwidth': 0.11888888888888888},\n",
      " mean: 1.13187, std: 0.01397, params: {'bandwidth': 0.17333333333333334},\n",
      " mean: 1.12007, std: 0.01043, params: {'bandwidth': 0.22777777777777777},\n",
      " mean: 1.09186, std: 0.00794, params: {'bandwidth': 0.28222222222222221},\n",
      " mean: 1.05391, std: 0.00601, params: {'bandwidth': 0.33666666666666667},\n",
      " mean: 1.01126, std: 0.00453, params: {'bandwidth': 0.39111111111111108},\n",
      " mean: 0.96717, std: 0.00341, params: {'bandwidth': 0.44555555555555554},\n",
      " mean: 0.92355, std: 0.00257, params: {'bandwidth': 0.5}]\n"
     ]
    }
   ],
   "source": [
    "from pprint import pprint\n",
    "pprint(clf.grid_scores_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The `pprint` function makes the standard output prettier. The only reason for\n",
    "using it here is to get it to look good on the printed page.  Otherwise, the\n",
    "IPython notebook handles the visual rendering of output embedded in the\n",
    "notebook via  its internal `display` framework.\n",
    "\n",
    "\n",
    "\n",
    " Keep in mind that the grid search examines multiple folds for cross\n",
    "validation to compute the above means and standard deviations. Note that there\n",
    "is also a `RandomizedSearchCV` in case you would rather specify a distribution\n",
    "of parameters instead of a list. This is particularly useful for searching very\n",
    "large parameter spaces where an exhaustive grid search would be too\n",
    "computationally expensive. Although kernel density estimators are easy to\n",
    "understand and have many attractive analytical properties, they become\n",
    "practically prohibitive for large, high-dimensional data sets.\n",
    "\n",
    "## Nonparametric Regression Estimators\n",
    "\n",
    "Beyond estimating the underlying probability density, we can use nonparametric\n",
    "methods to compute estimators of the underlying function that is generating the\n",
    "data.  Nonparametric regression estimators of the following form are known as\n",
    "linear smoothers,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{y}(x) =  \\sum_{i=1}^n \\ell_i(x) y_i\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " To understand the performance of these smoothers,\n",
    "we can define the risk as the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "R(\\hat{y},y) = \\mathbb{E}\\left( \\frac{1}{n} \\sum_{i=1}^n (\\hat{y}(x_i)-y(x_i))^2 \\right)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and find the best $\\hat{y}$ that minimizes this. The problem with\n",
    "this metric is that we do not know $y(x)$, which is why we are trying to\n",
    "approximate it with $\\hat{y}(x)$. We could construct an estimation by using the\n",
    "data at hand as in the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{R}(\\hat{y},y) =\\frac{1}{n} \\sum_{i=1}^n (\\hat{y}(x_i)-Y_i)^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where we have substituted the data $Y_i$ for the unknown function\n",
    "value, $y(x_i)$. The problem with this approach is that we are using the data\n",
    "to estimate the function and then using the same data to evaluate the risk of\n",
    "doing so. This kind of double-dipping leads to overly optimistic estimators.\n",
    "One way out of this conundrum is to use leave-one-out cross validation, wherein\n",
    "the $\\hat{y}$ function is estimated using all but one of the data pairs,\n",
    "$(X_i,Y_i)$. Then, this missing data element is used to estimate the above\n",
    "risk. Notationally, this is written as the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{R}(\\hat{y},y) =\\frac{1}{n} \\sum_{i=1}^n (\\hat{y}_{(-i)}(x_i)-Y_i)^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\hat{y}_{(-i)}$ denotes computing the estimator without using\n",
    "the $i^{th}$ data pair. Unfortunately, for anything other than relatively small\n",
    "data sets, it quickly becomes computationally prohibitive to use leave-one-out\n",
    "cross validation in practice. We'll get back to this issue shortly, but let's\n",
    "consider a concrete example of such a nonparametric smoother.\n",
    "\n",
    "## Nearest Neighbors Regression\n",
    "<div id=\"ch:stats:sec:nnreg\"></div>\n",
    "\n",
    "The simplest possible nonparametric regression method is the $k$-nearest\n",
    "neighbors regression. This is easier to explain in words than to write out in\n",
    "math. Given an input $x$, find the closest one of the $k$ clusters that\n",
    "contains it and then return the mean of the data values in that cluster. As a\n",
    "univariate example, let's consider the following *chirp* waveform,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "y(x)=\\cos\\left(2\\pi\\left(f_o x + \\frac{BW x^2}{2\\tau}\\right)\\right)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This waveform is important in high-resolution radar applications.\n",
    "The $f_o$ is the start frequency and $BW/\\tau$ is the frequency slope of the\n",
    "signal. For our example, the fact that it is nonuniform over its domain is\n",
    "important. We can easily create some data by sampling the\n",
    "chirp as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numpy import cos, pi\n",
    "xi = np.linspace(0,1,100)[:,None]\n",
    "xin = np.linspace(0,1,12)[:,None]\n",
    "f0 = 1 # init frequency\n",
    "BW = 5\n",
    "y = cos(2*pi*(f0*xin+(BW/2.0)*xin**2))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We can use this data to construct a simple nearest neighbor\n",
    "estimator using Scikit-learn,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KNeighborsRegressor(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "          metric_params=None, n_jobs=1, n_neighbors=2, p=2,\n",
       "          weights='uniform')"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.neighbors import KNeighborsRegressor\n",
    "knr=KNeighborsRegressor(2) \n",
    "knr.fit(xin,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "Scikit-learn has a fantastically consistent interface. The `fit` function above\n",
    "fits the model parameters to the data. The corresponding `predict` function\n",
    "returns the output of the model given an arbitrary input. We will spend a lot\n",
    "more time on Scikit-learn in the machine learning chapter. The `[:,None]` part\n",
    "at the end is just injecting a column dimension into the array in order to\n",
    "satisfy the dimensional requirements of Scikit-learn."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x17072e48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.pylab import subplots\n",
    "fig,ax=subplots()\n",
    "yi = cos(2*pi*(f0*xi+(BW/2.0)*xi**2))\n",
    "_=ax.plot(xi,yi,'k--',lw=2,label=r'$y(x)$')\n",
    "_=ax.plot(xin,y,'ko',lw=2,ms=11,color='gray',alpha=.8,label='$y(x_i)$')\n",
    "_=ax.fill_between(xi.flat,yi.flat,knr.predict(xi).flat,color='gray',alpha=.3)\n",
    "_=ax.plot(xi,knr.predict(xi),'k-',lw=2,label='$\\hat{y}(x)$')\n",
    "_=ax.set_aspect(1/4.)\n",
    "_=ax.axis(ymax=1.05,ymin=-1.05)\n",
    "_=ax.set_xlabel(r'$x$',fontsize=24)\n",
    "_=ax.legend(loc=0)\n",
    "fig.set_tight_layout(True)\n",
    "#fig.savefig('fig-statistics/nonparametric_004.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-statistics/nonparametric_004.png, width=800 frac=0.85] The dotted line shows the chirp signal and the solid line shows the nearest neighbor estimate. The gray circles are the sample points that we used to fit the nearest neighbor estimator. The shaded area shows the gaps between the estimator and the unsampled chirp.  <div id=\"fig:nonparametric_004\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:nonparametric_004\"></div>\n",
    "\n",
    "<p>The dotted line shows the chirp signal and the solid line shows the nearest neighbor estimate. The gray circles are the sample points that we used to fit the nearest neighbor estimator. The shaded area shows the gaps between the estimator and the unsampled chirp.</p>\n",
    "<img src=\"fig-statistics/nonparametric_004.png\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    " [Figure](#fig:nonparametric_004) shows the sampled signal (gray\n",
    "circles) against the values generated by the nearest neighbor estimator (solid\n",
    "line). The dotted line is the full unsampled chirp signal, which increases in\n",
    "frequency with $x$. This is important for our example because it adds a\n",
    "non-stationary aspect to this problem in that the function gets progressively\n",
    "wigglier with increasing $x$.  The area between the estimated curve and the\n",
    "signal is shaded in gray. Because the nearest neighbor estimator uses only two\n",
    "nearest neighbors, for each new $x$, it finds the two adjacent $X_i$ that\n",
    "bracket the $x$ in the training data and then averages the corresponding $Y_i$\n",
    "values to compute the estimated value. That is, if you take every adjacent pair\n",
    "of sequential gray circles in the Figure, you find that the horizontal solid line \n",
    "splits the pair on the vertical axis. We can adjust the number of\n",
    "nearest neighbors  by changing the constructor,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KNeighborsRegressor(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "          metric_params=None, n_jobs=1, n_neighbors=3, p=2,\n",
       "          weights='uniform')"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knr=KNeighborsRegressor(3) \n",
    "knr.fit(xin,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1df3cc50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=subplots()\n",
    "_=ax.plot(xi,yi,'k--',lw=2,label=r'$y(x)$')\n",
    "_=ax.plot(xin,y,'ko',lw=2,ms=11,color='gray',alpha=.8,label='$y(x_i)$')\n",
    "_=ax.fill_between(xi.flat,yi.flat,knr.predict(xi).flat,color='gray',alpha=.3)\n",
    "_=ax.plot(xi,knr.predict(xi),'k-',lw=2,label='$\\hat{y}(x)$')\n",
    "_=ax.set_aspect(1/4.)\n",
    "_=ax.axis(ymax=1.05,ymin=-1.05)\n",
    "_=ax.set_xlabel(r'$x$',fontsize=24)\n",
    "_=ax.legend(loc=0)\n",
    "fig.set_tight_layout(True)\n",
    "#fig.savefig('fig-statistics/nonparametric_005.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which produces the following corresponding [Figure](#fig:nonparametric_005).\n",
    "\n",
    "<!-- dom:FIGURE: [fig-statistics/nonparametric_005.png, width=800 frac=0.85] This is the same as [Figure](#fig:nonparametric_004) except that here there are three nearest neighbors used to build the estimator.  <div id=\"fig:nonparametric_005\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:nonparametric_005\"></div>\n",
    "\n",
    "<p>This is the same as [Figure](#fig:nonparametric_004) except that here there are three nearest neighbors used to build the estimator.</p>\n",
    "<img src=\"fig-statistics/nonparametric_005.png\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "For this example, [Figure](#fig:nonparametric_005) shows that with\n",
    "more nearest neighbors the fit performs poorly, especially towards the end of\n",
    "the signal, where there is increasing variation, because the chirp is not\n",
    "uniformly continuous.\n",
    "\n",
    "Scikit-learn provides many tools for cross validation. The following code\n",
    "sets up the tools for leave-one-out cross validation,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.cross_validation import LeaveOneOut\n",
    "loo=LeaveOneOut(len(xin))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The `LeaveOneOut` object is an iterable that produces a set of\n",
    "disjoint indices of the data --- one for fitting the model (training set)\n",
    "and one for evaluating the model (testing set), as shown\n",
    "in the next short sample,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[(array([1, 2]), array([0])),\n",
      " (array([0, 2]), array([1])),\n",
      " (array([0, 1]), array([2]))]\n"
     ]
    }
   ],
   "source": [
    "pprint(list(LeaveOneOut(3)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The next block loops over the disjoint sets of training and test\n",
    "indicies iterates provided by the `loo` variable to evaluate\n",
    "the estimated risk, which is accumulated in the `out` list."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Leave-one-out Estimated Risk:  1.03517136627\n"
     ]
    }
   ],
   "source": [
    "out=[]\n",
    "for train_index, test_index in loo:\n",
    "    _=knr.fit(xin[train_index],y[train_index])\n",
    "    out.append((knr.predict(xi[test_index])-y[test_index])**2)\n",
    "\n",
    "print 'Leave-one-out Estimated Risk: ',np.mean(out),"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The last line in the code above reports leave-one-out's estimated\n",
    "risk.  \n",
    "\n",
    "Linear smoothers of this type can be rewritten in using the following matrix,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathscr{S} = \\left[ \\ell_i(x_j) \\right]_{i,j}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " so that"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{\\mathbf{y}} = \\mathscr{S} \\mathbf{y}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "   where $\\mathbf{y}=\\left[Y_1,Y_2,\\ldots,Y_n\\right]\\in \\mathbb{R}^n$\n",
    "and $\\hat{ \\mathbf{y}\n",
    "}=\\left[\\hat{y}(x_1),\\hat{y}(x_2),\\ldots,\\hat{y}(x_n)\\right]\\in \\mathbb{R}^n$.\n",
    "This leads to a quick way to approximate leave-one-out cross validation as the\n",
    "following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{R}=\\frac{1}{n}\\sum_{i=1}^n\\left(\\frac{y_i-\\hat{y}(x_i)}{1-\\mathscr{S}_{i,i}}\\right)^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " However, this does not reproduce the approach in the code above\n",
    "because it assumes that each $\\hat{y}_{(-i)}(x_i)$ is consuming one fewer\n",
    "nearest neighbor than $\\hat{y}(x)$.\n",
    "\n",
    "We can get this $\\mathscr{S}$ matrix from the `knr` object as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "_= knr.fit(xin,y) # fit on all data\n",
    "S=(knr.kneighbors_graph(xin)).todense()/float(knr.n_neighbors)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The `todense` part reformats the sparse matrix that is\n",
    "returned into a regular Numpy `matrix`. The following shows a subsection\n",
    "of this $\\mathcal{S}$ matrix,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.33333333  0.33333333  0.33333333  0.          0.        ]\n",
      " [ 0.33333333  0.33333333  0.33333333  0.          0.        ]\n",
      " [ 0.          0.33333333  0.33333333  0.33333333  0.        ]\n",
      " [ 0.          0.          0.33333333  0.33333333  0.33333333]\n",
      " [ 0.          0.          0.          0.33333333  0.33333333]]\n"
     ]
    }
   ],
   "source": [
    "print S[:5,:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The sub-blocks show the windows of the the `y` data that are being\n",
    "processed by the nearest neighbor estimator. For example,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.55781314  0.55781314]\n",
      " [ 0.55781314  0.55781314]\n",
      " [-0.09768138 -0.09768138]\n",
      " [-0.46686876 -0.46686876]\n",
      " [-0.10877633 -0.10877633]]\n"
     ]
    }
   ],
   "source": [
    "print np.hstack([knr.predict(xin[:5]),(S*y)[:5]])#columns match"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Or, more concisely checking all entries for approximate equality,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n"
     ]
    }
   ],
   "source": [
    "print np.allclose(knr.predict(xin),S*y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which shows that the results from the nearest neighbor\n",
    "object and the matrix multiply match.\n",
    "\n",
    "**Programming Tip.**\n",
    "\n",
    "Note that because we formatted the returned $\\mathscr{S}$ as a Numpy matrix, we\n",
    "automatically get the matrix multiplication instead of default element-wise\n",
    "multiplication in the `S*y` term.\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "## Kernel Regression\n",
    "\n",
    "For estimating the probability density, we started with the histogram and moved\n",
    "to the more general kernel density estimate. Likewise, we can also extend\n",
    "regression from nearest neighbors to kernel-based regression using the\n",
    "*Nadaraya-Watson* kernel regression estimator.  Given a bandwith $h>0$, the\n",
    "kernel regression estimator is defined as the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{y}(x)=\\frac{\\sum_{i=1}^n K\\left(\\frac{x-x_i}{h}\\right) Y_i}{\\sum_{i=1}^n K \\left( \\frac{x-x_i}{h} \\right)}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Unfortunately, Scikit-learn does not implement this\n",
    "regression estimator; however, Jan Hendrik Metzen  makes a compatible\n",
    "version available on `github.com`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "xin = np.linspace(0,1,20)[:,None]\n",
    "y = cos(2*pi*(f0*xin+(BW/2.0)*xin**2)).flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from kernel_regression import KernelRegression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This code makes it possible to internally optimize over the bandwidth\n",
    "parameter using leave-one-out cross validation by specifying a grid of\n",
    "potential bandwidth values (`gamma`), as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KernelRegression(gamma=6002.0040080160325, kernel='rbf')"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kr = KernelRegression(gamma=np.linspace(6e3,7e3,500))\n",
    "kr.fit(xin,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " [Figure](#fig:nonparametric_006) shows the kernel estimator (heavy\n",
    "black line) using the Gaussian kernel compared to the nearest neighbor\n",
    "estimator (solid light black line). As before, the data points are shown as\n",
    "circles. [Figure](#fig:nonparametric_006) shows that the kernel estimator can\n",
    "pick out the sharp peaks that are missed by the nearest neighbor estimator.  \n",
    "\n",
    "<!-- dom:FIGURE: [fig-statistics/nonparametric_006.png, width=800 frac=0.85] The heavy black line is the Gaussian kernel estimator. The light black line is the nearest neighbor estimator. The data points are shown as gray circles. Note that unlike the nearest neighbor estimator, the Gaussian kernel estimator is able to pick out the sharp peaks in the training data.  <div id=\"fig:nonparametric_006\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:nonparametric_006\"></div>\n",
    "\n",
    "<p>The heavy black line is the Gaussian kernel estimator. The light black line is the nearest neighbor estimator. The data points are shown as gray circles. Note that unlike the nearest neighbor estimator, the Gaussian kernel estimator is able to pick out the sharp peaks in the training data.</p>\n",
    "<img src=\"fig-statistics/nonparametric_006.png\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "Thus, the difference between nearest neighbor and kernel estimation is that the\n",
    "latter provides a smooth moving averaging of points whereas the former provides\n",
    "a discontinuous averaging. Note that kernel estimates suffer near the\n",
    "boundaries where there is mismatch between the edges and the kernel\n",
    "function. This problem gets worse in higher dimensions because the data\n",
    "naturally drift towards the boundaries (this is a consequence of the *curse of\n",
    "dimensionality*). Indeed, it is not possible to simultaneously maintain local\n",
    "accuracy (i.e., low bias) and a generous neighborhood (i.e., low variance). One\n",
    "way to address this problem is to create a local polynomial regression using\n",
    "the kernel function as a window to localize a region of interest. For example,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\hat{y}(x)=\\sum_{i=1}^n K\\left(\\frac{x-x_i}{h}\\right) (Y_i-\\alpha - \\beta x_i)^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and now we have to optimize over the two linear parameters $\\alpha$\n",
    "and $\\beta$. This method is known as *local linear regression*\n",
    "[[loader2006local]](#loader2006local), [[hastie2013elements]](#hastie2013elements). Naturally, this can be\n",
    "extended to higher-order polynomials. Note that these methods are not yet\n",
    "implemented in Scikit-learn."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ed627b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=subplots()\n",
    "#fig.set_size_inches((12,4))\n",
    "_=ax.plot(xi,kr.predict(xi),'k-',label='kernel',lw=3)\n",
    "_=ax.plot(xin,y,'o',lw=3,color='gray',ms=12)\n",
    "_=ax.plot(xi,yi,'--',color='gray',label='chirp')\n",
    "_=ax.plot(xi,knr.predict(xi),'k-',label='nearest')\n",
    "_=ax.axis(ymax=1.1,ymin=-1.1)\n",
    "_=ax.set_aspect(1/4.)\n",
    "_=ax.axis(ymax=1.05,ymin=-1.05)\n",
    "_=ax.set_xlabel(r'$x$',fontsize=24)\n",
    "_=ax.set_ylabel(r'$y$',fontsize=24)\n",
    "_=ax.legend(loc=0)\n",
    "#fig.savefig('fig-statistics/nonparametric_006.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Curse of Dimensionality"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "sys.displayhook= old_displayhook"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- # #ifdef SINGLE -->\n",
    "<!-- TITLE:  Curse of Dimensionality -->\n",
    "<!-- AUTHOR: Jose Unpingco -->\n",
    "<!-- DATE: today -->\n",
    "<!-- # #endif -->\n",
    "\n",
    "The so-called curse of dimensionality occurs as we move into higher and higher\n",
    "dimensions. The term was coined by Bellman in 1961 while he was studying\n",
    "adaptive control processes. Nowadays, the term is vaguely refers to anything\n",
    "that becomes more complicated as the number of dimensions increases\n",
    "substantially. Nevertheless, the concept is useful for recognizing\n",
    "and characterizing the practical difficulties of high-dimensional analysis and\n",
    "estimation.\n",
    "\n",
    "Consider the volume of an $n$-dimensional sphere,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto1\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "V_s(n,r)= \\begin{cases}\n",
    "   \\pi^{n/2} \\frac{r^n}{(n/2)!}              & \\texttt{ if $n$ is even}  \\\\\\\n",
    "   2^n\\pi^{(n-1)/2} \\frac{r^{ (n-1) }}{(n-1)!}((n-1)/2)! & \\texttt{ if $n$ is odd}\n",
    "\\end{cases} \n",
    "\\label{_auto1} \\tag{1}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Further, consider the sphere $V_s(n,1/2)$ enclosed by an $n$\n",
    "dimensional unit cube.  The volume of the cube is always equal to one, but\n",
    "$\\lim_{n\\rightarrow\\infty} V_s(n,1/2) = 0$. What does this mean? It means that\n",
    "the volume of the cube is pushed away from its center, where the embedded\n",
    "hypersphere lives.  Specifically, the distance from the center of the cube to\n",
    "its vertices in $n$ dimensions is $\\sqrt{n}/2$, whereas the distance from the\n",
    "center of the inscribing sphere is $1/2$. This diagonal distance goes to\n",
    "infinity as $n$ does. For a fixed $n$, the tiny spherical region at the center\n",
    "of the cube has many long spines attached to it, like a hyper-dimensional sea\n",
    "urchin or porcupine.\n",
    "\n",
    "What are the consequences of this? For methods that rely on nearest\n",
    "neighbors, exploiting locality to lower bias becomes intractable. For\n",
    "example, suppose we have an $n$ dimensional space and a point near the\n",
    "origin we want to localize around. To estimate behavior around this\n",
    "point, we need to average the unknown function about this point, but\n",
    "in a high-dimensional space, the chances of finding neighbors to\n",
    "average are slim. Looked at from the opposing point of view, suppose\n",
    "we have a binary variable, as in the coin-flipping problem. If we have\n",
    "1000 trials, then, based on our earlier work, we can be confident\n",
    "about estimating the probability of heads.  Now, suppose we have 10\n",
    "binary variables.  Now we have $2^{ 10 }=1024$ vertices to estimate.\n",
    "If we had the same 1000 points, then at least 24 vertices would not\n",
    "get any data.  To keep the same resolution, we would need 1000 samples\n",
    "at each vertex for a grand total of $1000\\times 1024 \\approx 10^6$\n",
    "data points. So, for a ten fold increase in the number of variables,\n",
    "we now have about 1000 more data points to collect to maintain the\n",
    "same statistical resolution. This is the curse of dimensionality.\n",
    "\n",
    "Perhaps some code will clarify this. The following code generates samples in\n",
    "two dimensions that are plotted as points in [Figure](#fig:curse_of_dimensionality_001) with the inscribed circle in two\n",
    "dimensions. Note that for $d=2$ dimensions,  most of the points are contained\n",
    "in the circle."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "v=np.random.rand(1000,2)-1/2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nc889hyeeeIL2SQq73Y61a9fitNNOQ3d3NwwGAzweT1GCrJbinujPiDTtdrvh8/no8dDpdKKtrQ1m\ns5meHAjk9LmFxsrr9eKEE07ARRddhGQyiZ07d+Kll17Crl27EI1G6e9isRh27NiBl156CR0dHdi+\nfTsuvPDColK1eKwdDoei8Y1ArGpgWRahUAh9fX1Yt25dRe+2vr4eo6OjeScGQpjFUGisj1QVxIIj\nyXA4DIZh4HK54HK5EIlEqu6SogSpY7bf789zzC6HXOQU58Um5759+/DEE0/g+eefp87BYrS2tmLL\nli3YvHkzVq9ejf379+dJL8WOTtVW3CeTSTQ3NyveX+64t3z5cvT29ubpc10uF71noSMiuf8xxxyD\nLVu2wG634+2338aTTz6Jd955B4cOHQIwI1n6fD7cc889uP/++7Ft2zZcfPHF2LBhAxgmX6CRjvXA\nwADcbjcl1kLvjGVZ+P1+ZDIZMAyD/v5+xXkiDRJoamqipx4yVzo7OxEKhRCJRJBKpWCz2VQbNo90\nI40cFhRJJhIJZDIZxOPxPDcSsktqoTsp5R7FHLPLnXBqdu1MJoO//vWvePzxx7Fnz55Z3zscDnzq\nU5/ChRdeiNWrV+ct6lJJeL6htHFI9blmszlP3yt3jdLG1d7ejksvvRSf/vSnMTQ0hF27dmH37t1I\nJBJUPbFjxw7s2LEDK1euxPbt23HuuefC4XAAmD3WU1NTiMfjBaVPMtdCoRAymQwsFgtaWloU3dmk\nQQI+nw+CIKCrqwsWiyVvEz7qqKPQ29sLt9sNl8uVJ50vNCwYkiST22QywWq1UreflpYWehwtRwqT\nthEMBuFyuegxrtZIZHJyEk888QSefvppalwSY/ny5di+fTs+9alPKfa71KNTtRX3au4v1+fm5mZ0\nd3dT1UJXV1feb+SuUdq4xGhpacH555+P7du34x//+Adee+017N+/n37/4Ycf4o477sDdd9+N8847\nD5dccsksyZKccoo9k9SKb7Va8zwVpH0XBwkEAgGqY25sbMzbhItJ50o40o00clgwJEkmd1NTExwO\nByYnJ+F2u2fpb8rVncgp0YnfmBKUHLMJtJxwkUgEDz74IB599FFkMpm874xGIz0KHn/88bMWbKUo\nJJUpbUilKPrL3dyIvyzP84jH49QRv5w4dDJWJpMJqVQKDMOgqakJp5xyCq688kqMjIzgiSeewJ//\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d1e26d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.patches import Circle\n",
    "from matplotlib.pylab import subplots\n",
    "fig,ax=subplots()\n",
    "fig.set_size_inches((5,5))\n",
    "_=ax.set_aspect(1)\n",
    "_=ax.scatter(v[:,0],v[:,1],color='gray',alpha=.3)\n",
    "_=ax.add_patch(Circle((0,0),0.5,alpha=.8,lw=3.,fill=False))\n",
    "#fig.savefig('fig-statistics/curse_of_dimensionality_001.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-statistics/curse_of_dimensionality_001.pdf, width=800 frac=0.65] Two dimensional scatter of points randomly and independently uniformly distributed in the unit square. Note that most of the points are contained in the circle. Counter to intuition, this does not persist as the number of dimensions increases. <div id=\"fig:curse_of_dimensionality_001\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:curse_of_dimensionality_001\"></div>\n",
    "\n",
    "<p>Two dimensional scatter of points randomly and independently uniformly distributed in the unit square. Note that most of the points are contained in the circle. Counter to intuition, this does not persist as the number of dimensions increases.</p>\n",
    "<img src=\"fig-statistics/curse_of_dimensionality_001.pdf\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    " The next code block describes the core computation in\n",
    "[Figure](#fig:curse_of_dimensionality_002). For each of the dimensions, we\n",
    "create a set of uniformly distributed random variates along each dimension\n",
    "and then compute how close each $d$ dimensional vector is to the origin.\n",
    "Those that measure one half are those contained in the hypersphere. The\n",
    "histogram of each measurment is shown in the corresponding panel in the\n",
    "[Figure](#fig:curse_of_dimensionality_002). The dark vertical line shows the threshold value. Values to the left\n",
    "of this indicate the population that are contained in the hypersphere. Thus,\n",
    "[Figure](#fig:curse_of_dimensionality_002) shows that as $d$ increases,\n",
    "fewer points are contained in the inscribed hypersphere. The following\n",
    "code paraphrases  the content of [Figure](#fig:curse_of_dimensionality_002)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1dda7400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for d in [2,3,5,10,20,50]:\n",
    "    v=np.random.rand(5000,d)-1/2.\n",
    "    hist([np.linalg.norm(i) for i in v])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1df53940>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "siz = [2,3,5,10,20,50]\n",
    "fig,axs=subplots(3,2,sharex=True)\n",
    "fig.set_size_inches((10,6))\n",
    "#fig.set_size_inches((10,8))\n",
    "for ax,k in zip(axs.flatten(),siz):\n",
    "    v=np.random.rand(5000,k)-1/2.\n",
    "    _=ax.hist([np.linalg.norm(i) for i in v],color='gray',normed=True);\n",
    "    _=ax.vlines(0.5,0,ax.axis()[-1]*1.1,lw=3)\n",
    "    _=ax.set_title('$d=%d$'%k,fontsize=20)\n",
    "    _=ax.tick_params(labelsize='small',top=False,right=False)\n",
    "    _=ax.spines['top'].set_visible(False)\n",
    "    _=ax.spines['right'].set_visible(False)\n",
    "    _=ax.spines['left'].set_visible(False)\n",
    "    _=ax.yaxis.set_visible(False)\n",
    "    _=ax.axis(ymax=3.5)\n",
    "\n",
    "fig.set_tight_layout(True)\n",
    "#fig.savefig('fig-statistics/curse_of_dimensionality_002.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-statistics/curse_of_dimensionality_002.pdf, width=800 frac=0.95] Each panel shows the histogram of lengths of uniformly distributed $d$ dimensional random vectors. The population to the left of the dark vertical line are those that are contained in the inscribed hypersphere. This shows that fewer points are contained in the hypersphere with increasing dimension. <div id=\"fig:curse_of_dimensionality_002\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:curse_of_dimensionality_002\"></div>\n",
    "\n",
    "<p>Each panel shows the histogram of lengths of uniformly distributed $d$ dimensional random vectors. The population to the left of the dark vertical line are those that are contained in the inscribed hypersphere. This shows that fewer points are contained in the hypersphere with increasing dimension.</p>\n",
    "<img src=\"fig-statistics/curse_of_dimensionality_002.pdf\" width=800>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "<!-- TODO: Additive models, \"\" -->\n",
    "<!-- TODO: Local Regression Methods, p. 32 -->\n",
    "<!-- TODO: Spline Methods, p. 32 -->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
